﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CI.Caja.BE;
using System.Data.SqlClient;

namespace CI.Caja.DL
{
   public class DA_CierreCaja : CI.Caja.DL.IDA_CierreCaja
    {
       DA_Utilitario objUtility = new DA_Utilitario();

       public BE_CierreCaja ObtenerCierre(int idcierre) {
           BE_CierreCaja cierrecaja = null;

           string sentencia = "select idCierreCaja, idPuntoVenta, feFechaCierre,idPersonalApertura,fecReg,idArqueo,idPersonalCierre " +
                                "from ca_Cierre where idCierreCaja=@idcierrecaja";

           using (SqlConnection conexion = new SqlConnection(DA_Utilitario.ObtenerConexion()))
           {
               conexion.Open();
               using (SqlCommand comando = new SqlCommand(sentencia, conexion))
               {
                   comando.Parameters.Add(new SqlParameter("@idcierrecaja", idcierre));
                   SqlDataReader resultado = comando.ExecuteReader();

                   if (resultado.Read())
                   {
                       cierrecaja = new BE_CierreCaja();
                       cierrecaja.IdCierreCaja = (int)resultado["idCierreCaja"];
                       cierrecaja.IdPuntoVenta = (int)resultado["idPuntoVenta"];
                       cierrecaja.FeFechaCierre = (DateTime)resultado["FeFechaCierre"];
                       cierrecaja.IdPersonalApertura = (int)resultado["idPersonalApertura"];
                       cierrecaja.FecReg = (DateTime)resultado["fecReg"];
                       cierrecaja.IdArqueo = (int)resultado["idArqueo"];
                       cierrecaja.IdPersonalCierre = (int)resultado["idPersonalCierre"];


                       //notadebito.Poder = poderDAO.Obtener((int)resultado["poder"]);  
                   }
               }
           }
           return cierrecaja;
       }
       public ICollection<BE_CierreCaja> ListarCierre()
       {
           ICollection<BE_CierreCaja> cierreExistentes = new List<BE_CierreCaja>();
           BE_CierreCaja cierrecaja = null;

           string sentencia = "SELECT idCierreCaja, idPuntoVenta, feFechaCierre,idPersonalApertura,fecReg,idArqueo,idPersonalCierre FROM ca_Cierre";
           using (SqlConnection conexion = new SqlConnection(DA_Utilitario.ObtenerConexion()))
           {
               conexion.Open();
               using (SqlCommand comando = new SqlCommand(sentencia, conexion))
               {
                   SqlDataReader resultado = comando.ExecuteReader();
                   while (resultado.Read())
                   {
                       cierrecaja = new BE_CierreCaja();
                       cierrecaja.IdCierreCaja = (int)resultado["idCierreCaja"];
                       if (resultado["idPuntoVenta"] != DBNull.Value) {
                           cierrecaja.IdPuntoVenta = (int)resultado["idPuntoVenta"];
                       }
                       if (resultado["FeFechaCierre"] != DBNull.Value)
                       {
                           cierrecaja.FeFechaCierre = (DateTime)resultado["FeFechaCierre"];
                       }
                       if (resultado["idPersonalApertura"] != DBNull.Value)
                       {
                           cierrecaja.IdPersonalApertura = (int)resultado["idPersonalApertura"];
                       }
                       if (resultado["fecReg"] != DBNull.Value)
                       {
                           cierrecaja.FecReg = (DateTime)resultado["fecReg"];
                       }
                       if (resultado["idArqueo"] != DBNull.Value)
                       {
                           cierrecaja.IdArqueo = (int)resultado["idArqueo"];
                       }
                       if (resultado["idPersonalCierre"] != DBNull.Value)
                       {
                           cierrecaja.IdPersonalCierre = (int)resultado["idPersonalCierre"];
                       }
                       
                           cierreExistentes.Add(cierrecaja);
                       
                       
                       
                       
                   }
               }
           }
           return cierreExistentes;
       }
    }
}
